package com.syf.core.service.run.chain;


import com.syf.core.service.SyServiceDefinition;
import com.syf.core.service.context.ServiceContext;

public interface ServicePrePostHandle {
    /**
     * 根据serviceCode判断是否需要执行前后处理
     */
    boolean support(SyServiceDefinition serviceDefinition);

    /**
     * 排序
     */
    int getOrder();

    /**
     * 前处理
     * return boolean 为true，继续向后传递，为false则执行本节点后处理向前传递
     */
    boolean preHandle(ServiceContext context);

    /**
     * 后处理
     */
    void postHandle(ServiceContext context);
}
